parameters:
- name: version
display: Version
type: enum
required: true
option:
enum:
- value: 2023
display: 2023
- value: 2022
display: 2022
- value: 2021
display: 2021
- name: input_file
display: 输入文件
type: path
required: true
description: 输入文件类型(.zip)
option:
path:
pattern: '.zip$'
- name: np
display: 每个节点并发数
type: int
required: true
usage: SCHEDULER
schedPrefix: --ntasks-per-node
option:
int:
min: 1
max: 48
- name: node_num
display: 节点数
type: enum
required: true
usage: SCHEDULER
schedPrefix: -N
option:
enum:
- value: 1
display: 1
- value: 2
display: 2
outputs:
- path: 'taskout.log'
type: TEXT
script: |-
#!/bin/bash
set -ex
export ANSYSLMD_LICENSE_FILE=27005@10.105.1.10
export ICEPAK_LICENSING=ice-ppe
export FLUENT_ARCH=lnamd64
NODELIST=/fastone/softwares/nodelist
LOGFILE=taskout.log
RUN_PATH=$(pwd)
INPUT_FILE={{ input_file }}
unzip ${INPUT_FILE} -d ${RUN_PATH}
if [ $? -ne 0 ];then
echo "Failed to unzip file"
exit 1
fi
CAS_FILE=$(ls *.cas)
if [ -n "${CAS_FILE}" ];then
PROJECT_NAME=${CAS_FILE%%.*}
else
echo "not found input file!"
exit 1
fi
case {{ version }} in
2021)
ANSYS_PATH=/fastone/softwares/ansys/ansys/2021/ansys_inc/v211
export FLUENT_INC=${ANSYS_PATH}/fluent
export ANSYS_FLCONSOLE_PATH=${FLUENT_INC}/fluent21.1.0/launcher/lnamd64
export ICEPAK_PATH=${ANSYS_PATH}/Icepak/icepak21.1
AppCommand=${FLUENT_INC}/bin/fluent
HOSTFILE=.mpihosts
{{ "${NODELIST} -delim '\n' -format '{{.Host}}:{{.Cpu}}' > $HOSTFILE" }}
Args="-mpi=intel"
;;
2022)
ANSYS_PATH=/fastone/softwares/ansys/ansys/2022/ansys_inc/v221
export FLUENT_INC=${ANSYS_PATH}/fluent
export ANSYS_FLCONSOLE_PATH=${FLUENT_INC}/fluent22.1.0/launcher/lnamd64
export ICEPAK_PATH=${ANSYS_PATH}/Icepak/icepak22.1
AppCommand=${FLUENT_INC}/bin/fluent
#sed -i 's#\(load \"\).*\(/icepak22.1\)#\1'"${ICEPAK_PATH}"'\2#g' ${PROJECT_NAME}.uns_in
HOSTFILE=.mpihosts
{{ "${NODELIST} -delim '\n' -format '{{.Host}}:{{.Cpu}}' > $HOSTFILE" }}
Args="-mpi=intel "
;;
2023)
export FLUENT_AFFINITY=0
export SLURM_ENABLED=1
export SCHEDULER_TIGHT_COUPLING=1
ANSYS_PATH=/fastone/softwares/ansys/ansys/2023/ansys_inc/v232
export FLUENT_INC=${ANSYS_PATH}/fluent
export ANSYS_FLCONSOLE_PATH=${FLUENT_INC}/fluent23.2.0/launcher/lnamd64
export ICEPAK_PATH=${ANSYS_PATH}/Icepak/icepak23.2
AppCommand=${FLUENT_INC}/bin/fluent
HOSTFILE=.mpihosts
{{ "${NODELIST} -delim '\n' -format '{{.Host}}' > $HOSTFILE" }}
Args=""
;;
*)
echo "ERROR: Unsupported versions"
exit 1
;;
esac
# run in MPP mode with machines
{{ "TOTAL_NPROC=$(expr $(${NODELIST} --delim ' + ' --format '{{.Cpu}}'))" }}
sed -i 's#\(load \"\).*\(/lib/icepak\)#\1'"${ICEPAK_PATH}"'\2#g' ${PROJECT_NAME}.uns_in
rm -f ${PROJECT_NAME}.resd
rm -f ${PROJECT_NAME}.srp
# shopt -s nullglob
rm -f ${PROJECT_NAME}.*.out
${AppCommand} 3ddp -g -ssh ${Args} -cnf=${HOSTFILE} -t${TOTAL_NPROC} -i ${PROJECT_NAME}.uns_in > ${LOGFILE}